home *** CD-ROM | disk | FTP | other *** search
/ JCSM Shareware Collection 1993 November / JCSM Shareware Collection - 1993-11.iso / cl720 / vxbase1j.lzh / VXBTUT.BAS < prev    next >
BASIC Source File  |  1993-04-03  |  16KB  |  328 lines

  1. ' definitions for this program
  2. ' ----------------------------
  3. Global DbfArea As Integer
  4. Global NtxArea1 As Integer
  5. Global NtxArea2 As Integer
  6. Global NtxArea As Integer
  7. Global EditMode As Integer
  8. Global StateDbf As Integer
  9. Global StateNtx As Integer
  10. Global DeleRec As Long
  11. Global StateReturn As Long
  12. Global BrowseRunning As Integer
  13.  
  14. Global Const ADDING = 0
  15. Global Const DELETING = 1
  16. Global Const UPDATING = 2
  17. Global Const CANCELLED = 3
  18.  
  19. ' vxBase Global Constants
  20. ' -----------------------
  21. Global Const BROWSE_CLOSED = -1
  22. Global Const BROWSE_EDIT = -2
  23. Global Const BROWSE_ADD = -3
  24. Global Const BROWSE_DELETE = -4
  25. Global Const BROWSE_ERROR = -5
  26. Global Const BROWSE_USER = -6
  27.  
  28. ' vxBase Color References for user tables
  29. ' ---------------------------------------
  30. Global Const VX_RED = &HFF
  31. Global Const VX_BLUE = &HFF0000
  32. Global Const VX_GRAY = &HC0C0C0
  33. Global Const VX_WHITE = &HFFFFFF
  34.  
  35. ' vxBase Control style modes
  36. ' --------------------------
  37. Global Const VX_RAISE = 0
  38. Global Const VX_RECESS = 1
  39. Global Const VX_CREASE = 2
  40. Global Const VX_FLAT = 3
  41.  
  42. ' vxBase Table Field Types
  43. ' ------------------------
  44. Global Const VX_FIELD = 0
  45. Global Const VX_EXPR = 1
  46.  
  47. ' browse case types
  48. ' -----------------
  49. Global Const VX_UPPER = 0
  50. Global Const VX_LOWER = 1
  51.  
  52. ' vxCtlFormat Types
  53. ' (includes VX_UPPER AS DEFINED ABOVE)
  54. ' ------------------------------------
  55. Global Const VX_CHAR = 1
  56. Global Const VX_ALPHA = 2
  57. Global Const VX_NUM = 3
  58. Global Const VX_DATE = 4
  59. Global Const VX_PASSWORD = 5
  60.  
  61. ' vxBase String Return Types
  62. ' --------------------------
  63. Global Const VX_VBSTRING = 0
  64. Global Const VX_ASCIIZ = 1
  65.  
  66. ' vxBase Menu item identifiers
  67. ' ----------------------------
  68. Global Const VX_SEPBAR = 2
  69. Global Const VX_MENUHEAD = 1
  70. Global Const VX_RETURN = 0
  71.  
  72. ' Country (for vxSetDate) and language identifiers
  73. ' ------------------------------------------------
  74. Global Const VX_ENGLISH = 0
  75. Global Const VX_AMERICAN = 0
  76. Global Const VX_ANSI = 1
  77. Global Const VX_BRITISH = 2
  78. Global Const VX_FRENCH = 3
  79. Global Const VX_GERMAN = 4
  80. Global Const VX_ITALIAN = 5
  81. Global Const VX_DUTCH = 6
  82. Global Const VX_SPANISH = 7
  83.  
  84. ' directions for locate
  85. ' ---------------------
  86. Global Const VX_FORWARD = 0
  87. Global Const VX_BACKWARD = 1
  88.  
  89. ' font weights for vxBrowseSetup
  90. ' ------------------------------
  91. Global Const VX_DONTCARE = 0
  92. Global Const VX_THIN = 100
  93. Global Const VX_EXTRALIGHT = 200
  94. Global Const VX_LIGHT = 300
  95. Global Const VX_NORMAL = 400
  96. Global Const VX_MEDIUM = 500
  97. Global Const VX_SEMIBOLD = 600
  98. Global Const VX_BOLD = 700
  99. Global Const VX_EXTRABOLD = 800
  100. Global Const VX_HEAVY = 900
  101.  
  102. ' vxCtlBrowseMsg Message values
  103. ' -----------------------------
  104. Global Const VXB_REFRESH = 0
  105. Global Const VXB_FILTERDLG = 1
  106. Global Const VXB_FILTERPRG = 2
  107. Global Const VXB_GETCURRENTREC = 3
  108. Global Const VXB_GETTOPREC = 4
  109. Global Const VXB_STATS = 5
  110. Global Const VXB_CASE = 6
  111. Global Const VXB_SEARCHDLG = 7
  112. Global Const VXB_SEARCHPRG = 8
  113. Global Const VXB_SEARCHAGAIN = 9
  114. Global Const VXB_SEEK = 10
  115. Global Const VXB_CLOSE = 11
  116.  
  117.  
  118. ' vxBase CALLed Sub Procedures
  119. ' ----------------------------
  120. Declare Sub vxBrowse Lib "vxbase.dll" (ByVal Hwnd%, ByVal DbfArea%, ByVal NtxArea%, ByVal EditMode%, ByVal AllowFilter%, ByVal EditMenu%, ByVal StartRec&, ByVal Caption$, RetVal&)
  121. Declare Sub vxBrowseArray Lib "vxbase.dll" (ByVal Rows As Integer)
  122. Declare Sub vxBrowseCase Lib "vxbase.dll" (ByVal DefCase As Integer)
  123. Declare Sub vxBrowsePos Lib "vxbase.dll" (ByVal StartX As Integer, ByVal StartY As Integer, ByVal xWidth As Integer, ByVal yHeight As Integer)
  124. Declare Sub vxBrowseSetup Lib "vxbase.dll" (ByVal Menus%, ByVal PrintMenu%, ByVal QCol%, ByVal V3D%, ByVal FontName$, ByVal FontSize%, ByVal Weight%, ByVal Italic%, ByVal Hdr%, ByVal MinMax%, ByVal Thresh%)
  125. Declare Sub vxCollate Lib "vxbase.dll" (NewSequence As Integer)
  126. Declare Sub vxCtlGrayReset Lib "vxbase.dll" ()
  127. Declare Sub vxCtlGraySet Lib "vxbase.dll" ()
  128. Declare Sub vxCtlLength Lib "vxbase.dll" (ByVal FieldName As String)
  129. Declare Sub vxCtlPenWidth Lib "vxbase.dll" (ByVal PenWidth As Integer)
  130. Declare Sub vxCtlStyle Lib "vxbase.dll" (CtlName As Any, ByVal Mode As Integer)
  131. Declare Sub vxDouble Lib "vxbase.dll" (ByVal FieldName As String, DblAmount As Double)
  132. Declare Sub vxExactOff Lib "vxbase.dll" ()
  133. Declare Sub vxExactOn Lib "vxbase.dll" ()
  134. Declare Sub vxFilter Lib "vxbase.dll" (ByVal FilterString As String)
  135. Declare Sub vxFilterReset Lib "vxbase.dll" ()
  136. Declare Sub vxFormFrame Lib "vxbase.dll" (ByVal Hwnd As Integer)
  137. Declare Sub vxInit Lib "vxbase.dll" ()
  138. Declare Sub vxJoin Lib "vxbase.dll" (ByVal DbfArea As Integer, ByVal NtxArea As Integer, ByVal JoinExpr As String, ByVal KeyType As Integer, ByVal JoinTitle As String)
  139. Declare Sub vxJoinNoAuto Lib "vxbase.dll" ()
  140. Declare Sub vxJoinReset Lib "vxbase.dll" ()
  141. Declare Sub vxMemoEdit Lib "vxbase.dll" (ByVal Hwnd As Integer, ByVal FieldName As String)
  142. Declare Sub vxMenuDeclare Lib "vxbase.dll" (ByVal NumItems As Integer)
  143. Declare Sub vxMenuItem Lib "vxbase.dll" (ByVal MenuIndex As Integer, ByVal MenuLev As Integer, ByVal MenuString As String, ByVal MenuType As Integer)
  144. Declare Sub vxReplDate Lib "vxbase.dll" (ByVal FieldName As String, ByVal DateString As String)
  145. Declare Sub vxReplDateString Lib "vxbase.dll" (ByVal FieldName As String, ByVal DateString As String)
  146. Declare Sub vxReplDouble Lib "vxbase.dll" (ByVal FieldName As String, DblAmount As Double)
  147. Declare Sub vxReplInteger Lib "vxbase.dll" (ByVal FieldName As String, IntAmount As Integer)
  148. Declare Sub vxReplLogical Lib "vxbase.dll" (ByVal FieldName As String, ByVal BoolVal As Integer)
  149. Declare Sub vxReplLong Lib "vxbase.dll" (ByVal FieldName As String, LongInt As Long)
  150. Declare Sub vxReplRecord Lib "vxbase.dll" (RecStruct As Any)
  151. Declare Sub vxReplString Lib "vxbase.dll" (ByVal FieldName As String, ByVal FieldString As String)
  152. Declare Sub vxSetAnsi Lib "vxbase.dll" (ByVal OnOrOff As Integer)
  153. Declare Sub vxSetCollate Lib "vxbase.dll" (ByVal OnOrOff As Integer)
  154. Declare Sub vxSetDate Lib "vxbase.dll" (ByVal DateType As Integer)
  155. Declare Sub vxSetErrorCaption Lib "vxbase.dll" (ByVal CaptionString As String)
  156. Declare Sub vxSetErrorMethod Lib "vxbase.dll" (ByVal VbOrVx As Integer)
  157. Declare Sub vxSetLanguage Lib "vxbase.dll" (ByVal LangType As Integer)
  158. Declare Sub vxSetLocks Lib "vxbase.dll" (ByVal OnOrOff As Integer)
  159. Declare Sub vxSetMeters Lib "vxbase.dll" (ByVal OnOrOff As Integer)
  160. Declare Sub vxSetSelect Lib "vxbase.dll" (ByVal OnOrOff As Integer)
  161. Declare Sub vxSetString Lib "vxbase.dll" (ByVal StringType As Integer)
  162. Declare Sub vxSetupPrinter Lib "vxbase.dll" (ByVal Hwnd As Integer)
  163. Declare Sub vxSum Lib "vxbase.dll" (ByVal FieldName As String, DblAmount As Double)
  164. Declare Sub vxTableDeclare Lib "vxbase.dll" (ByVal ColorRef&, BofExpr As Any, EofExpr As Any, ByVal Scope%, ByVal Quick%, ByVal Columns%)
  165. Declare Sub vxTableField Lib "vxbase.dll" (ByVal ColIndex As Integer, ByVal ColHead As String, ByVal ColExpr As String, ByVal ColType As Integer)
  166. Declare Sub vxTableFieldExt Lib "vxbase.dll" (ByVal ColIndex As Integer, ByVal ColHead As String, ByVal ColExpr As String, ByVal ColType As Integer, ByVal ColWidth As Integer, ByVal DbfArea As Integer)
  167. Declare Sub vxTableReset Lib "vxbase.dll" ()
  168. Declare Sub vxWindowDereg Lib "vxbase.dll" (ByVal Hwnd As Integer)
  169.  
  170.  
  171. ' vxBase Functions
  172. ' ----------------
  173. Declare Function vxAppendBlank Lib "vxbase.dll" () As Integer
  174. Declare Function vxAppendFrom Lib "vxbase.dll" (ByVal FromFile As String) As Integer
  175. Declare Function vxAreaDbf Lib "vxbase.dll" (ByVal DbfName As String) As Integer
  176. Declare Function vxAreaNtx Lib "vxbase.dll" (ByVal NtxName As String) As Integer
  177. Declare Function vxBof Lib "vxbase.dll" () As Integer
  178. Declare Function vxBottom Lib "vxbase.dll" () As Integer
  179. Declare Function vxChar Lib "vxbase.dll" (ByVal FieldName As String) As String
  180. Declare Function vxClose Lib "vxbase.dll" () As Integer
  181. Declare Function vxCloseAll Lib "vxbase.dll" () As Integer
  182. Declare Function vxCloseNtx Lib "vxbase.dll" (ByVal NtxArea As Integer) As Integer
  183. Declare Function vxCopy Lib "vxbase.dll" (ByVal NewDbfName As String) As Integer
  184. Declare Function vxCopyStruc Lib "vxbase.dll" (ByVal NewDbfName As String) As Integer
  185. Declare Function vxCreateNtx Lib "vxbase.dll" (ByVal NewNtxName As String, ByVal NtxExpr As String) As Integer
  186. Declare Function vxCtlBrowse Lib "vxbase.dll" (ByVal ControlHwnd%, ByVal DbfArea%, ByVal NtxArea%, ByVal EditMode%, ByVal StartRec&, ByVal MemoHwnd%, ByVal MemoField$) As Integer
  187. Declare Function vxCtlBrowseMsg Lib "vxbase.dll" (ByVal Hwnd As Integer, ByVal Msg As Integer, Param As Any) As Long
  188. Declare Function vxCtlFormat Lib "vxbase.dll" (ByVal TextLen As Integer, ByVal Picture As Integer, ByVal Decimals As Integer) As Integer
  189. Declare Function vxCtlHwnd Lib "vxbase.dll" (ControlName As Any) As Integer
  190. Declare Function vxDateFormat Lib "vxbase.dll" (ByVal DateField As String) As String
  191. Declare Function vxDateString Lib "vxbase.dll" (ByVal DateField As String, ByVal DateType As Integer) As String
  192. Declare Function vxDbfCurrent Lib "vxbase.dll" () As Integer
  193. Declare Function vxDbfDate Lib "vxbase.dll" () As String
  194. Declare Function vxDbfName Lib "vxbase.dll" () As String
  195. Declare Function vxDeallocate Lib "vxbase.dll" () As Integer
  196. Declare Function vxDecimals Lib "vxbase.dll" (ByVal FieldName As String) As Integer
  197. Declare Function vxDeleted Lib "vxbase.dll" () As Integer
  198. Declare Function vxDeleteRange Lib "vxbase.dll" (ByVal StartRec As Long, ByVal EndRec As Long) As Integer
  199. Declare Function vxDeleteRec Lib "vxbase.dll" () As Integer
  200. Declare Function vxDescend Lib "vxbase.dll" (ByVal KeyString As String) As String
  201. Declare Function vxEmpty Lib "vxbase.dll" (ByVal FieldName As String) As Integer
  202. Declare Function vxEof Lib "vxbase.dll" () As Integer
  203. Declare Function vxEval Lib "vxbase.dll" (ByVal XBaseExpr As String) As Integer
  204. Declare Function vxEvalDouble Lib "vxbase.dll" (ByVal XBaseExpr As String, DblAmount As Double) As Integer
  205. Declare Function vxEvalLogical Lib "vxbase.dll" (ByVal XBaseExpr As String, ByVal TrueFalse As String) As Integer
  206. Declare Function vxEvalString Lib "vxbase.dll" (ByVal XBaseExpr As String, ByVal StringVal As String) As Integer
  207. Declare Function vxField Lib "vxbase.dll" (ByVal FieldName As String) As String
  208. Declare Function vxFieldCount Lib "vxbase.dll" () As Integer
  209. Declare Function vxFieldName Lib "vxbase.dll" (ByVal FieldNumber As Integer) As String
  210. Declare Function vxFieldSize Lib "vxbase.dll" (ByVal FieldName As String) As Integer
  211. Declare Function vxFieldTrim Lib "vxbase.dll" (ByVal FieldName As String) As String
  212. Declare Function vxFieldType Lib "vxbase.dll" (ByVal FieldName As String) As String
  213. Declare Function vxFile Lib "vxbase.dll" (ByVal FileName As String) As Integer
  214. Declare Function vxFound Lib "vxbase.dll" () As Integer
  215. Declare Function vxGetVersion Lib "vxbase.dll" () As String
  216. Declare Function vxGo Lib "vxbase.dll" (ByVal RecNum As Long) As Integer
  217. Declare Function vxInteger Lib "vxbase.dll" (ByVal FieldName As String) As Integer
  218. Declare Function vxIsMemo Lib "vxbase.dll" (ByVal MemoFieldName As String) As Integer
  219. Declare Function vxIsRecLocked Lib "vxbase.dll" () As Integer
  220. Declare Function vxLocate Lib "vxbase.dll" (ByVal XBaseExpr As String, ByVal Direction As Integer) As Long
  221. Declare Function vxLocateAgain Lib "vxbase.dll" (ByVal Direction As Integer) As Long
  222. Declare Function vxLockDbf Lib "vxbase.dll" () As Integer
  223. Declare Function vxLocked Lib "vxbase.dll" () As Integer
  224. Declare Function vxLockRecord Lib "vxbase.dll" () As Integer
  225. Declare Function vxLong Lib "vxbase.dll" (ByVal FieldName As String) As Long
  226. Declare Function vxMemCompact Lib "vxbase.dll" () As Long
  227. Declare Function vxMemoRead Lib "vxbase.dll" (ByVal FieldName As String, ByVal LineWidth As Integer) As String
  228. Declare Function vxNumRecs Lib "vxbase.dll" () As Long
  229. Declare Function vxNtxCurrent Lib "vxbase.dll" () As Integer
  230. Declare Function vxNtxDeselect Lib "vxbase.dll" () As Integer
  231. Declare Function vxNtxExpr Lib "vxbase.dll" (ByVal NtxArea As Integer) As String
  232. Declare Function vxNtxName Lib "vxbase.dll" (ByVal NtxArea As Integer) As String
  233. Declare Function vxNtxRecNo Lib "vxbase.dll" () As Long
  234. Declare Function vxNumRecs Lib "vxbase.dll" () As Long
  235. Declare Function vxPack Lib "vxbase.dll" (ByVal Hwnd As Integer) As Integer
  236. Declare Function vxPrinterDefault Lib "vxbase.dll" () As String
  237. Declare Function vxPrinterEnum Lib "vxbase.dll" (ByVal PIndex As Integer) As String
  238. Declare Function vxPrinterSelect Lib "vxbase.dll" (ByVal PrinterName As String) As Integer
  239. Declare Function vxRecall Lib "vxbase.dll" () As Integer
  240. Declare Function vxRecNo Lib "vxbase.dll" () As Long
  241. Declare Function vxRecord Lib "vxbase.dll" (RecStruct As Any) As Integer
  242. Declare Function vxRecSize Lib "vxbase.dll" () As Integer
  243. Declare Function vxReindex Lib "vxbase.dll" () As Integer
  244. Declare Function vxReplMemo Lib "vxbase.dll" (ByVal FieldName As String, ByVal MemoString As String) As Integer
  245. Declare Function vxSeek Lib "vxbase.dll" (ByVal SearchKey As String) As Integer
  246. Declare Function vxSeekFast Lib "vxbase.dll" (ByVal SearchKey As String) As Integer
  247. Declare Function vxSeekSoft Lib "vxbase.dll" (ByVal SearchKey As String) As Integer
  248. Declare Function vxSelectDbf Lib "vxbase.dll" (ByVal DbfArea As Integer) As Integer
  249. Declare Function vxSelectNtx Lib "vxbase.dll" (ByVal NtxArea As Integer) As Integer
  250. Declare Function vxSetAlias Lib "vxbase.dll" (ByVal AliasName As String, ByVal DbfArea As Integer) As Integer
  251. Declare Function vxSetHandles Lib "vxbase.dll" (ByVal NumHandles As Integer) As Integer
  252. Declare Function vxSetRelation Lib "vxbase.dll" (ByVal ToDbfArea As Integer, ByVal KeyConstruct As String) As Integer
  253. Declare Function vxSkip Lib "vxbase.dll" (ByVal NumRecords As Long) As Integer
  254. Declare Function vxTestNtx Lib "vxbase.dll" (ByVal NtxArea As Integer) As Integer
  255. Declare Function vxTop Lib "vxbase.dll" () As Integer
  256. Declare Function vxTrue Lib "vxbase.dll" (ByVal FieldName As String) As Integer
  257. Declare Function vxUnlock Lib "vxbase.dll" () As Integer
  258. Declare Function vxUseDbf Lib "vxbase.dll" (ByVal DbfName As String) As Integer
  259. Declare Function vxUseDbfRO Lib "vxbase.dll" (ByVal DbfName As String) As Integer
  260. Declare Function vxUseNtx Lib "vxbase.dll" (ByVal NtxName As String) As Integer
  261. Declare Function vxWrite Lib "vxbase.dll" () As Integer
  262. Declare Function vxWriteHdr Lib "vxbase.dll" () As Integer
  263. Declare Function vxZap Lib "vxbase.dll" () As Integer
  264.  
  265.  
  266. ' ---------------------------------------
  267. ' File structure data type. Add more
  268. ' elements or delete unnecessary elements
  269. ' as required by the largest dbf creation
  270. ' in your application
  271. ' ---------------------------------------
  272.  
  273. Type FileStruc
  274.    Fld01 As String * 16
  275.    Fld02 As String * 16
  276.    Fld03 As String * 16
  277.    Fld04 As String * 16
  278.    Fld05 As String * 16
  279.    Fld06 As String * 16
  280.    Fld07 As String * 16
  281.    Fld08 As String * 16
  282.    Fld09 As String * 16
  283.    Fld10 As String * 16
  284.    Fld11 As String * 16
  285.    Fld12 As String * 16
  286.    Fld13 As String * 16
  287.    Fld14 As String * 16
  288.    Fld15 As String * 16
  289.    Fld16 As String * 16
  290.    Fld17 As String * 16
  291.    Fld18 As String * 16
  292.    Fld19 As String * 16
  293.    Fld20 As String * 16
  294.    Fld21 As String * 16
  295.    Fld22 As String * 16
  296.    Fld23 As String * 16
  297.    Fld24 As String * 16
  298.    Fld25 As String * 16
  299.    Fld26 As String * 16
  300.    Fld27 As String * 16
  301.    Fld28 As String * 16
  302.    Fld29 As String * 16
  303.    Fld30 As String * 16
  304.    Fld31 As String * 16
  305.    Fld32 As String * 16
  306. End Type
  307.  
  308. ' declare function that uses FileStruc type
  309. ' -----------------------------------------
  310. Declare Function vxCreateDbf Lib "vxbase.dll" (ByVal NewDbfName As String, ByVal NumFields As Integer, FStructure As FileStruc) As Integer
  311.  
  312. ' declarations for alternate error method
  313. ' ---------------------------------------
  314. Type vxErrorStruc
  315.    ErrorNum As Integer
  316.    ErrorMsg As String * 80
  317.    DbfArea As Integer
  318.    NtxArea As Integer
  319.    DbfName As String * 80
  320.    NtxName As String * 80
  321.    BadParm As String * 80
  322. End Type
  323.  
  324. Declare Function vxErrorTest Lib "vxbase.dll" (ErrorStructure As vxErrorStruc) As Integer
  325.  
  326. Global vxError As vxErrorStruc
  327.  
  328.